/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Presente;

import BancoDados.BancoDados;
import Entidade.CidadeModel;
import Entidade.EnderecoModel;
import Entidade.VendedorModel;
import Enum.UF;
import Pesistencia.CidadePersistencia;
import Pesistencia.EnderencoPersistencia;
import Pesistencia.VendedorPersistencia;
import View.CadastrarVendedorView1;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;

/**
 *
 * @author Thalyta
 */
public class CadastrarVendedorPresente {
  private BancoDados banco = new BancoDados();
    private VendedorPersistencia Vendedores = new VendedorPersistencia(banco);
    private CidadePersistencia cidades = new CidadePersistencia(banco);
    private EnderencoPersistencia endrecos = new EnderencoPersistencia(banco);
    private CadastrarVendedorView1 view = new CadastrarVendedorView1();
    public CadastrarVendedorPresente(CadastrarVendedorView1 vie) {
        
        view = vie ;
        carregacombox();
        view.getBtncancelar().addActionListener(new ActionListener() {

           @Override
           public void actionPerformed(ActionEvent e) {
              cancelar();
           }
       });
       
       view.getBtnsalvar().addActionListener(new ActionListener() {

           @Override
           public void actionPerformed(ActionEvent e) {
              salvar();
           }

          
       }); 
    }
   
    public void salvar(){
  int  codigo1;
     int codigo = 0;
     
     
 try {
     
            if (Vendedores.buscar(Vendedores.recuperarUltimoCodigo() + 1) != null) {
                    throw new Exception("Cliente ja cadastrado- iiiih ferrou!");
            } 
            else             
            {
                
                    if(cidades.buscarNome(view.getTxtcidade().getText()) == null)
                    {

                         codigo = cidades.recuperarUltimoCodigo() + 1 ;
                         CidadeModel cidadee = new CidadeModel(codigo,view.getTxtcidade().getText(),view.getCBXestado().getSelectedItem().toString());
                         cidades.cadastrar(cidadee);
                    }
                    else 
                    {
                         codigo = cidades.buscarNome1(view.getTxtcidade().getText());
                    }

                    if(endrecos.buscarNome(view.getTxtrua().getText()) == null)
                    {
                         codigo1 = endrecos.recuperarUltimoCodigo() + 1 ;
                         EnderecoModel  endreco = new EnderecoModel(codigo1, codigo, view.getTxtrua().getText(), Integer.parseInt(view.getTxtnumero().getText()),view.getCep().getText());
                         endrecos.cadastrar(endreco);
                    }
                    else
                    {
                          codigo1 = endrecos.buscarNome1(view.getTxtrua().getText());
                    }
                    String d = view.getTxtdatanascimento().getText();
                    
                    VendedorModel cliente = new  VendedorModel(Vendedores.recuperarUltimoCodigo()+1, view.getTxtnome().getText(), view.getTxtcpf().getText(), view.getTxtrg().getText(),10.50,codigo1, view.getTxttelefone().getText(), Double.parseDouble(view.getSalario().getText()), d);
                    Vendedores.cadastrar(cliente);


            }
         
        } catch (Exception e) {
            JOptionPane.showMessageDialog(view, e.getMessage()+"nao deu certo isso aqui...");
        }
        
        view.setVisible(false);
 }   
    
public void cancelar (){

view.setVisible(false);

    } 

 public void carregacombox(){
      UF[] ts = UF.values();
      
      for(UF tipos : ts){ 
         view.getCBXestado().addItem(tipos.toString());
      
      }
      
  }
}
